package com.global.emc.spring.exception.handler.convert;

import org.springframework.validation.BindException;
import org.springframework.web.bind.MethodArgumentNotValidException;

import com.global.emc.core.exception.IEMCException;

/**   
 *  
 * @Description:  [将非MethodArgumentNotValidException类型异常转化为FormValidationEMCException类型异常]   
 * @Author:       [Joly_Huang]   
 * @CreateDate:   [2014年2月20日 下午10:51:08]   
 * @UpdateUser:   [Joly_Huang]   
 * @UpdateDate:   [2014年2月20日 下午10:51:08]   
 * @UpdateRemark: [说明本次修改内容]  
 * @Version:      [v1.0] 
 *    
 */
public class ConvertMethodArgumentNotValidExceptionToBindExceptionHandler extends ConvertBindExceptionToFormValidationEMCExceptionHandler {
	

	@Override
	public boolean supports(Exception exception) {
		return exception instanceof MethodArgumentNotValidException;
	}

	@Override
	public IEMCException convertMessagesToEMCException(Exception exception) {
		exception = new BindException(((MethodArgumentNotValidException) exception).getBindingResult());
		return super.convertMessagesToEMCException(exception);
	}


}
